Engines on a vehicle, and in particular, engines on an aircraft, are commonly controlled by a controller, such as a Full Authority Digital Engine Control (FADEC) on an aircraft. For example, a controller (e.g., an Electronic Engine Controller (EEC) or Electronic Control Unit (ECU) of a FADEC) can use actuators to control fuel flow, engine geometries, and other parameters to optimize performance of an engine during operation, such as during takeoff, flight and landing for an aircraft.
During operation of the engine, various parameters of the engine can be modelled by an engine model, such as an Embedded Engine Model (EEM) run on a controller. Multiple solvers can be used by the controller to model various operating scenarios, such as an engine tracking solver to provide real-time virtual sensors for the engine, a high-power solver to determine available engine performance reserves, or a general control solver to provide general control tasks for the engine. Each solver can be tailored to determine one or more parameters of the engine by modelling specific inputs in the engine model.
However, in a typical implementation, each solver is run through the engine model in a sequential manner. Thus, each solver generally is run until the solver determines the one or more desired parameters before a successive solver is run through the engine model. For instances in which the solver is required to perform an iterative process, running each solver until it determines the desired parameters can be time and computationally intensive, and can take 20 minutes or longer in some cases. Thus, in applications in which a user or controller desires to know multiple modelled parameters in a short time period, such as in a nearly simultaneous time period, the typical approach of running multiple solvers through an engine model sequentially may not provide the desired functionality.